using CommunicationLibrary;
using CommunicationLibrary.TransportData;

namespace GameNetwork.Interfaces
{
    internal interface INetworkClient
    {
        event NetworkGameStartedEventHandler OnGameStarted;

        event NetworkGameReadyEventHandler OnGameReady;

        event NetworkGameWonEventHandler OnGameWon;

        event NetworkGameLostEventHandler OnGameLost;

        event NetworkConnectionErrorEventHandler OnConnectionError;

        GameState GetCurrentGameState();

        IClient GetClient();

        void ClearGameStates();
    }
}